package com.boilerCloud.dao.sys;

import java.util.List;

import com.boilerCloud.dto.sys.Menu;

/**
 * @类功能说明：菜单处理dao类
 * @类修改者：
 * @修改日期：
 * @修改说明：
 * @公司名称：杭州龙骞科技有限公司
 * @作者：qianfuqiang
 * @创建时间：2013-8-11 下午04:01:15
 * @版本：V1.0
 */
public interface IHzlqswMenuDao {
	/**
	 * @函数功能说明:根据角色编号查找用户能用的菜单地址
	 * @创建者：qianfuqiang 2013-6-28
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @return
	 * @参数： @throws Exception
	 * @返回： String[]
	 * @抛出异常：
	 */
	public String[] getMenuUrlByRole(int roleID) throws Exception;

	/**
	 * @函数功能说明:获取用户左侧菜单
	 * @创建者：qianfuqiang 2013-8-11
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @return
	 * @参数： @throws Exception
	 * @返回： List<Menu>
	 * @抛出异常：
	 */
	public List<Menu> getLeftMenu(int roleID) throws Exception;

	/**
	 * @函数功能说明:获取菜单列表
	 * @创建者：qianfuqiang 2013-8-12
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @param offset
	 * @参数： @param length
	 * @参数： @param menu
	 * @参数： @return
	 * @参数： @throws Exception
	 * @返回： List<Menu>
	 * @抛出异常：
	 */
	public List<Menu> getMenuList(int roleID, int offset, int length, Menu menu) throws Exception;

	/**
	 * @函数功能说明:获取菜单列表数量
	 * @创建者：qianfuqiang 2013-8-12
	 * @修改者：
	 * @修改内容：
	 * @参数： @param roleID
	 * @参数： @param menu
	 * @参数： @return
	 * @参数： @throws Exception
	 * @返回： int
	 * @抛出异常：
	 */
	public int qryMenuListSize(int roleID, Menu menu) throws Exception;

	/**
	 * @函数功能说明:添加菜单
	 * @创建者：qianfuqiang 2013-8-13
	 * @修改者：
	 * @修改内容：
	 * @参数： @param menu
	 * @参数： @throws Exception
	 * @返回： int 最新菜单编号
	 * @抛出异常：
	 */
	public int addMenu(Menu menu) throws Exception;

	/**
	 * @函数功能说明:删除菜单
	 * @创建者：qianfuqiang 2013-8-13
	 * @修改者：
	 * @修改内容：
	 * @参数： @param id
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void delMenu(int id) throws Exception;

	/**
	 * @函数功能说明:编辑菜单
	 * @创建者：qianfuqiang 2013-8-13
	 * @修改者：
	 * @修改内容：
	 * @参数： @param menu
	 * @参数： @throws Exception
	 * @返回： void
	 * @抛出异常：
	 */
	public void updateMenu(Menu menu) throws Exception;
}
